package model;

import com.alibaba.excel.EasyExcel;

import java.util.LinkedList;
import java.util.List;

/**
 * @author 刀氏春秋
 * @date 2023/6/9
 */
public class ExportExcelUtil<R> {
    public void writeRawDataToExcel(String fileName, List<R> results, Class<R> clz) {
        EasyExcel.write(fileName, clz).sheet("相位识别结果").doWrite(() -> results);
    }

    public void writeDynamicsDataToExcel(String fileName, List<List<Object>> results, List<String> assetNos) {
        // 构建表头对象
        List<List<String>> head = new LinkedList<>();

        // 第一列用于存放表资产号
        List<String> empty = new LinkedList<>();
        empty.add("电表资产号");
        head.add(empty);

        // 其他列用来存放R方组合计算数据
        for (String assetNo : assetNos) {
            List<String> column = new LinkedList<>();
            column.add(assetNo);
            head.add(column);
        }

        // 最后一列用于存放实际相位
        List<String> actualPhase = new LinkedList<>();
        actualPhase.add("实际相位");
        head.add(actualPhase);

        // 写入数据
        EasyExcel.write(fileName).head(head).sheet("组合识别结果").doWrite(() -> results);
    }
}
